Cognitive Support in Software Engineering Tools: a Distributed Cognition Framework

نویسندگان

  • Andrew Walenstein
  • Binay Bhattacharya
چکیده

Software development remains mentally challenging despite the continual advancement of training, techniques, and tools. Because completely automating software development is currently impossible, it makes sense to seriously consider how tools can improve the mental activities of developers apart from automating them away. Such mental assistance can be called “cognitive support”. Understanding and developing cognitive support in software engineering tools is an important research issue but, unfortunately, at the moment our theoretical foundations for it are inadequately developed. Furthermore, much of the relevant research has occurred outside of the software engineering community, and is therefore not easily available to the researchers who typically develop software engineering tools. Tool evaluation, comparison, and development are consequently impaired. The present work introduces a theoretical framework intended to seed further systematic study of cognitive support in the field of software engineering tools. This theoretical framework, called RODS, imports ideas and methods from a field of cognitive science called “distributed cognition”. The crucial concept in RODS is that cognitive support can be understood and explained in terms of the computational advantages that are conferred when cognition is redistributed between software developer and their tools and environment. The name RODS, in fact, comes from the four cognitive support principles the framework describes. With RODS in hand, it is possible to interpret good design in terms of how cognition is beneficially rearranged. To make such analyses fruitful, a cognitive modeling framework called HASTI is also proposed. The main purpose of HASTI is to provide an analysis of ways of modifying developer cognition using RODS. RODS and HASTI can be used to convert previously tacit design knowledge into explicit and reusable knowledge. RODS and HASTI are evaluated analytically by using them to reconstruct rationales for two exemplar reverse engineering tools. A preliminary field study was also conducted to determine their potential for being inexpensively applied in realistic tool development settings. These studies are used to draw implications for research in software engineering and, more broadly, for the design of computer tools in cognitive work domains.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Observing and Measuring Cognitive Support: Steps Toward Systematic Tool Evaluation and Engineering

A key desideratum for many software comprehension tools is to reduce the mental burdens of software engineers. That is, the tools should support cognition. This key benefit is difficult to directly observe and measure, so evaluating such tools has been problematic. This paper describes an investigation into the application of distributed cognition theories to analyzing and observing cognitive s...

متن کامل

Distributed cognition in software engineering research: Can it be made to work?

Distributed cognition is a theoretical and methodological framework that considers social groups, their artifacts, and their contexts as a single cognitive entity working towards the solution of a shared problem. In this paper we briefly describe the framework and consider its strengths and weaknesses as a theoretical foundation for software engineering research. We propose a series of techniqu...

متن کامل

Representation-Oriented Software Development: A cognitive approach to software engineering

Software development is necessarily a cognitive process. Software engineers (cognitive entities) develop software to maximize productivity while delivering quality software on time. In essence, issues in software engineering can be conceptualized as a cognitive optimization problem. The utility of this approach is illustrated by an example in which a cognitive semantic approach is applied in an...

متن کامل

HASTI: A Lightweight Framework for Cognitive Reengineering Analysis

Many software development tools and environments are considered useful because they beneficially reengineer developer cognition. Consequently, to design useful computer tools in cognitive work domains such as software development, one needs to be able to appreciate the possibilities for improving cognition. We argue that to do this, designers need more appropriate cognitive theories and models....

متن کامل

Foundations of Cognitive Support: Toward Abstract Patterns of Usefulness

Computer tools for cognitively challenging activities are considered useful, to a great extent, because of the support that they provide for human thinking and problem solving. To analyze, specify, and design cognitive support, a suitable analytic framework is required. Theories of “distributed cognition” have been offered as potentially suitable frameworks, but they have generally failed to pl...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002